namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// The global Ajax request class that provides a simple way to make Ajax requests
	/// with maximum flexibility.  Since Ext.Ajax is a singleton, you can set common properties/events for it once
	/// and override them at the request function level only if necessary.  Common Properties you may want to set are:   {@link #method}    {@link #extraParams}    {@link #url}      
	/// // Default headers to pass in every request
	/// Ext.Ajax.defaultHeaders = {
	/// &apos;Powered-By&apos;: &apos;Ext&apos;
	/// };
	///   Common Events you may want to set are:   {@link Ext.data.Connection#beforerequest beforerequest}    {@link Ext.data.Connection#requestcomplete requestcomplete}    {@link Ext.data.Connection#requestexception requestexception}      
	/// // Example: show a spinner during all Ajax requests
	/// Ext.Ajax.on(&apos;beforerequest&apos;, this.showSpinner, this);
	/// Ext.Ajax.on(&apos;requestcomplete&apos;, this.hideSpinner, this);
	/// Ext.Ajax.on(&apos;requestexception&apos;, this.hideSpinner, this);
	///   An example request:  
	/// // Basic request
	/// Ext.Ajax.{@link...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;The global Ajax request class that provides a simple way to make Ajax requests
	/// with maximum flexibility.&lt;/p&gt;
	/// &lt;p&gt;Since Ext.Ajax is a singleton, you can set common properties/events for it once
	/// and override them at the request function level only if necessary.&lt;/p&gt;
	/// &lt;p&gt;Common &lt;b&gt;Properties&lt;/b&gt; you may want to set are:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;{@link #method}&lt;/tt&gt;&lt;/b&gt;&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;{@link #extraParams}&lt;/tt&gt;&lt;/b&gt;&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;{@link #url}&lt;/tt&gt;&lt;/b&gt;&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// // Default headers to pass in every request
	/// Ext.Ajax.defaultHeaders = {
	/// &apos;Powered-By&apos;: &apos;Ext&apos;
	/// };
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;/p&gt;
	/// &lt;p&gt;Common &lt;b&gt;Events&lt;/b&gt; you may want to set are:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
	/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;{@link Ext.data.Connection#beforerequest beforerequest}&lt;/tt&gt;&lt;/b&gt;&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;{@link Ext.data.Connection#requestcomplete requestcomplete}&lt;/tt&gt;&lt;/b&gt;&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
	/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;{@link Ext.data.Connection#requestexception requestexception}&lt;/tt&gt;&lt;/b&gt;&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
	/// &lt;/ul&gt;&lt;/div&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// // Example: show a spinner during all Ajax requests
	/// Ext.Ajax.on(&apos;beforerequest&apos;, this.showSpinner, this);
	/// Ext.Ajax.on(&apos;requestcomplete&apos;, this.hideSpinner, this);
	/// Ext.Ajax.on(&apos;requestexception&apos;, this.hideSpinner, this);
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;/p&gt;
	/// &lt;p&gt;An example request:&lt;/p&gt;
	/// &lt;pre&gt;&lt;code&gt;
	/// // Basic request
	/// Ext.Ajax.{@link Ext.data.Connection#request request}({
	/// url: &apos;foo.php&apos;,
	/// success: someFn,
	/// failure: otherFn,
	/// headers: {
	/// &apos;my-header&apos;: &apos;foo&apos;
	/// },
	/// params: { foo: &apos;bar&apos; }
	/// });
	///
	/// // Simple ajax form submission
	/// Ext.Ajax.{@link Ext.data.Connection#request request}({
	/// form: &apos;some-form&apos;,
	/// params: &apos;foo=bar&apos;
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	/// &lt;/p&gt;
	/// </htmlSummary>
	/// <definedin>src\ext-core\src\data\Connection.js</definedin>
	/// <definedin>src\ext-core\src\data\Connection.js</definedin>
	/// <definedin>src\ext-core\src\data\Connection.js</definedin>
	[ScriptName("Ajax")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class Ajax : ext.data.Connection
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		internal Ajax()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("url")]
		public string Url;
		
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("extraParams")]
		public object ExtraParams;
		
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("defaultHeaders")]
		public object DefaultHeaders;
		
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("method")]
		public string Method;
		
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("timeout")]
		public System.Number Timeout;
		
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("autoAbort")]
		public bool AutoAbort;
		
		/// <summary>@hide</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("disableCaching")]
		public bool DisableCaching;
		#endregion
		
		#region Properties
		/// <summary>True to add a unique cache-buster param to GET requests. (defaults to true)</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("disableCaching")]
		[IntrinsicProperty()]
		public bool DisableCachingProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// The default URL to be used for requests to the server. (defaults to undefined)
		/// If the server receives all requests through one URL, setting this once is easier than
		/// entering it on every request.
		/// </summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("url")]
		[IntrinsicProperty()]
		public string UrlProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// An object containing properties which are used as extra parameters to each request made
		/// by this object (defaults to undefined). Session information and other data that you need
		/// to pass with each request are commonly put here.
		/// </summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("extraParams")]
		[IntrinsicProperty()]
		public object ExtraParamsProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// An object containing request headers which are added to each request made by this object
		/// (defaults to undefined).
		/// </summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("defaultHeaders")]
		[IntrinsicProperty()]
		public object DefaultHeadersProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>
		/// The default HTTP method to be used for requests. Note that this is case-sensitive and
		/// should be all caps (defaults to undefined; if not set but params are present will use
		/// &quot;POST&quot;, otherwise will use &quot;GET&quot;.)
		/// </summary>
		/// <htmlSummary>
		/// The default HTTP method to be used for requests. Note that this is case-sensitive and
		/// should be all caps (defaults to undefined; if not set but params are present will use
		/// &lt;tt&gt;&quot;POST&quot;&lt;/tt&gt;, otherwise will use &lt;tt&gt;&quot;GET&quot;&lt;/tt&gt;.)
		/// </htmlSummary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("method")]
		[IntrinsicProperty()]
		public string MethodProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>The timeout in milliseconds to be used for requests. (defaults to 30000)</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("timeout")]
		[IntrinsicProperty()]
		public System.Number TimeoutProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		
		/// <summary>Whether a new request should abort any pending requests. (defaults to false)</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		[ScriptName("autoAbort")]
		[IntrinsicProperty()]
		public bool AutoAbortProperty
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
			set
			{
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Serialize the passed form into a url encoded string</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		/// <param name="form"></param>
		[ScriptName("serializeForm")]
		public string SerializeForm(string form)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Serialize the passed form into a url encoded string</summary>
		/// <definedin>src\ext-core\src\data\Connection.js</definedin>
		/// <param name="form"></param>
		[ScriptName("serializeForm")]
		public string SerializeForm(System.Html.Element form)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
